![]() ![]() ![]()
|
许可管理工具
第 7 章
FLEXnet Licensing 为许可证管理员提供的实用程序能够帮助其管理网络上的许可证发放活动。应当尽可能始终使用最新版本的实用程序,这些程序可以从 www.macrovision.com 下载。
表 7-1 列出了这些实用程序。
![]()
FLEXnet Licensing 版本注释
运行管理工具
所有 FLEXnet Licensing 实用程序被打包成一个名为
lmutil的可执行文件。lmutil可以安装成一个个的命令(通过创建到各个命令名的链接,或把lmutil的各个副本制作成各个命令名),也可以安装成一个包,这个包将各个命令作为lmutilcommand运行。例如,lmutillmstat或lmutillmdown。在 Windows 系统上,可以使用命令的
lmutilcommand形式。这些命令还有一个图形用户界面,请参见“用于 Windows 的许可管理工具 LMTOOLS”。通用 lmutil 参数
以下参数对于大多数
lmutil实用程序都是有效的:
![]()
FLEXnet Licensing 版本注释
lmborrow
lmborrow支持借用含有 BORROW 属性的许可证。它必须运行在借出许可证的计算机上,可用于执行以下各项任务:启动借用
要启动借用,用户应该从命令行或通过 LMTOOLS 运行
lmborrow来设置借用期:lmborrow {
vendor| all}enddate[time]其中:
vendor 提供被借用许可证的供应商守护程序名称。如果是all,则指定该许可服务器系统中的所有供应商守护程序。enddate[time] 许可证的归还日期,格式为dd-mmm-yyyy。time为可选参数,格式为 FLEXenabled 应用程序本地时间的 24 小时格式 (hh:mm)。如果未指定time,则检出状态会保持到给定截止日期结束为止。
例如:
lmborrow sampled 20-aug-2001 13:00
这一命令会在注册表 (Windows) 或
$HOME/.flexlmborrow(UNIX) 中用借用期来设置LM_BORROW。要借用所需供应商的许可证,请在用户运行
lmborrow的同一天和同一台计算机上,运行应用程序来检出许可证。如果应用程序在当天运行了多次,不会重复借用许可证。如果应用程序运行的日期不是借用许可证的日期,则不会有任何许可证被借出。除了
lmborrow实用程序以外,还有其他启动借用的方法:关于其他方法的详细信息,请参见“启动许可证借用”。
清除借用的许可证设置
要清除注册表或
$HOME/.flexlmborrow中的LM_BORROW设置,可以发出命令:lmborrow -clear
清除
LM_BORROW设置将停止借出许可证,除非再次启动许可证借用。如果在从网络断开连接之前,用户希望运行应用程序来检出由vendor所提供的、不准备被借用的其他功能,可以在为脱机使用功能而借用许可证之后运行lmborrow -clear。清除LM_BORROW不会改变已借用的许可证的状态。确定已借用许可证的状态
要打印关于借用功能的信息,请在借用这些功能的计算机上发出以下命令:
lmborrow -status
借用系统不需要连接到网络,就可以确定状态。
提前归还借用的许可证
要提前归还借用的许可证,首先应该将借用系统重新连接到网络,然后从启动借用的同一台机器上发出以下命令:
lmborrow -return [-fqdn][-c
license_file_list] [-cdisplay]feature其中:
提前归还许可证,会为提供该许可证的供应商守护程序清除 LM_BORROW 设置。
如果在试图提前归还之前,借用系统没有连接回网络,就无法归还许可证,并且 LM_BORROW 保持不变。此外,还会向最终用户发出一条错误消息,通知他系统需要连接到网络。
![]()
FLEXnet Licensing 版本注释
lmdiag
lmdiag用于在不能检出许可证时对问题进行诊断。用法如下:
lmdiag [-c
license_file_list] [-n] [feature[:keyword=value]]其中:
如果未指定任何
feature,则lmdiag将对列表中的许可证文件中包含的所有功能进行操作。lmdiag首先打印许可证的信息,然后试图检出每个许可证。如果检出成功,lmdiag将表明检出成功。如果检出失败,lmdiag将给出失败的原因。如果检出失败是因为lmdiag不能连接到许可服务器系统,那么可以选择运行“扩展的连接诊断”。这些扩展的诊断会尝试连接到许可服务器计算机上的每个 TCP/IP 端口,并检测许可证文件中的端口号是否不正确。
lmdiag会指出正在监听的所有 TCP/IP 端口号,如果有一个是lmgrd进程,lmdiag也同样会指出。如果lmdiag找到要测试功能的供应商守护程序,则将指出该许可证文件的正确端口号,以便改正问题。请参见
lmdown
lmdown实用程序用于正常关闭所有计算机上选定的许可证守护程序(lmgrd和选定的供应商守护程序)。用法如下:
lmdown -c
license_file_list[-vendorvendor_daemon] [-q] [-all] [-force]其中:
如果
lmdown遇到了多个服务器(例如当-c指定了一个包含许多*.lic文件的目录时)并且未指定 -all,就会要求选择要关闭的许可服务器系统。
注意:在 UNIX 上,不要使用
kill -9来关闭许可服务器系统。在 Windows 上,如果必须使用任务管理器来终止 FLEXnet Licensing 服务,就要确保先结束lmgrd进程,然后再结束所有供应商守护程序的进程。
在关闭一个三服务器冗余许可服务器系统时,服务器在关闭之前会有一分钟的延迟,然后
lmdown会关闭一组冗余许可服务器系统的全部三个许可服务器系统。如果需要关闭一组冗余许可服务器系统中的某一个许可服务器系统(建议不要这样做,因为这样将留下两个故障点),必须将该许可服务器计算机上的lmgrd和供应商守护程序全部终止。启动许可服务器管理器
lmgrd后,可以防止出现未经授权就执行lmdown的情况。关闭服务器将使用户丢失许可证。请参见
- “lmgrd 命令行语法”,以获得有关安全访问
lmdown的详细信息- “lmreread”。
![]()
FLEXnet Licensing 版本注释
lmhostid
lmhostid实用程序返回当前平台的 FLEXnet Licensing 主机标识。如果在调用lmhostid时不指定任何参数,它显示的是当前平台的默认主机标识类型。否则,所显示的主机标识就与所请求的type一致,前提是当前平台支持这种类型。用法如下:
lmhostid [-n] [-type] [-utf8]其中:
-n 只将主机标识本身作为字符串返回,它适合与许可证文件中的 HOSTID= 一起使用。没有标题文字。-type 以下主机标识类型之一。如果未指定,则显示当前平台的默认主机标识。关于默认类型的列表,请参见附录 A“支持 FLEXnet Licensing 的平台的主机标识”。 平台相关的主机标识-ether 以太网地址。-string 字符串标识。-vsn 卷的序列号。(仅适用于 Windows 平台)-flexid 并行或 USB FLEXid 软件狗标识。此参数仅适用于支持 FLEXid 软件狗的平台。请参见“FLEXnet Licensing 主机标识”,以获得完整列表。-long 32 位主机标识。 平台无关的主机标识-user 当前用户名。-display 当前显示器名称。在 Windows 上,它是系统名。如果是终端服务器环境,则是终端服务器的客户端名称。在 UNIX 上,其格式为/dev/ttyxx或 X-Display 的名称。-hostname 当前主机名。-internet 当前平台的 IP 地址,格式为###.###.###.###。-utf8 主机标识输出为 UTF-8 编码字符串,而不是 ASCII 字符串。如果主机标识包含的字符不是 ASCII A 到 Z、a 到 z 或 0 到 9,请在 lmhostid 中使用此选项。要查看结果主机标识的正确表示,请使用能够显示 UTF-8 编码字符串的实用程序(例如记事本)。
此命令的输出如下:
lmhostid - Copyright (c) 1989, 2002 Macrovision Corporation
The FLEXlm hostid of this machine is "69021c89"请参见
lminstall
lminstall在 v6.0 中引入,主要用于在键入十进制格式的许可证之后,生成便于阅读的许可证文件。用法如下:
lminstall [-i
in_lic_file] [-maxlenn] [-eerr_file] [-oout_lic_file] \
[-overfmt {2 | 3 | 4 | 5 | 5.1 | 6 | 7 | 7.1 | 8}] [-odecimal]通常,要将十进制格式转换为可读取的格式,需要使用不带参数的
lminstall,该实用程序会提示指定输出许可证文件的名称。默认文件名为当天的日期,其格式为yyyymmdd.lic。如果软件供应商指定了文件,应该将该文件移到应用程序的默认许可证文件目录中。否则,请使用LM_LICENSE_FILE或VENDOR_LICENSE_FILE环境变量来指定*.lic文件所在的目录。要结束输入,可在一行中单独键入
q或输入两个空白行。如果指定了输入文件而没有指定输出文件,输出信息将发送到 stdout;如果既没有指定输入文件也没有指定输出文件,则
lminstall假定输入来自 stdin 并提示用户指定输出文件名。
lminstall还可用于将许可证从便于阅读的格式转换为十进制格式,以及在不同版本的 FLEXnet 许可证格式之间进行转换。要从便于阅读的格式转换为十进制格式:
lminstall -i
in_lic_file-oout_lic_file-odecimal要转换为 v5.1 格式:
lminstall -i
in_lic_file-oout_lic_file-overfmt 5.1要强制设置一个最大的行长度,例如 50 个字符:
lminstall -maxlen 50
必要时,可以报告转换错误,也可以通过指定
-eerr_file将其写入文件。lminstall的输入行数上限为 1000 行。lmnewlog
lmnewlog实用程序通过将现有的报告日志信息移到新文件中,再用原来的报告日志文件名开始新的报告日志,来切换报告日志文件。如果是用lmnewlog而不是用lmswitchr来切换报告日志,则无需更改供应商选项文件的 REPORTLOG 行中的文件名。需要供应商守护程序 v7.1+。用法如下:
lmnewlog [-c
license_file_list]feature renamed_report_log或者:
lmnewlog [-c
license_file_list]vendor renamed_report_log其中:
-clicense_file_list 使用指定的许可证文件。feature 此许可证文件中的任何功能。vendor 此许可证文件中的供应商守护程序。renamed_report_log 用于移动现有报告日志信息的新文件路径。
lmpath
lmpath实用程序可用于直接控制 FLEXnet 许可证路径设置。它用于添加、替代或获取当前的许可证路径设置。用法如下:
lmpath {-add | -override} {
vendor| all}license_file_list其中:
注意:
lmpath的工作方式是在 Windows 上设置 FLEXnet Licensing 注册表项或在 UNIX 上设置$HOME/.flexlmrc。
要显示当前许可证路径设置情况,可使用:
lmpath -status
将显示以下内容:
lmpath - Copyright (C) 1989-2002 Macrovision Corporation
Known Vendors:
_____________
demo:./counted.lic:./uncounted.lic
_____________
Other Vendors:
______________
/usr/local/flexlm/licenses/license.lic
请注意,如果将路径设为一个目录,则该目录中的所有
*.lic都单独列出来。lmremove
lmremove实用程序可用于为指定的功能删除单个用户的许可证。如果应用程序处于活动状态,它会在许可证被lmremove释放之后不久重新将其检出。用法如下:
lmremove [-c
license_file_list]feature user user_host display或
lmremove [-c
license_file_list] -hfeature server_host port handle其中:
user、user_host、display、server_host、port以及handle信息必须从lmstat -a的输出结果中获得。
lmremove将user_host和display上的所有user实例都从使用feature的人中删除。如果指定了可选的-clicense_file_list,则所指示的文件将被用作许可证文件。
-h变量使用server_host、port和许可证handle,与lmstat -a报告的一样。考虑下面这个lmstat -a输出的样例:joe nirvana /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40
在这个样例中,用户是“joe”,用户主机是“nirvana”,显示器是“/dev/typp5”,服务器主机是“cloud9”,TCP/IP 端口是“7654”,许可证句柄是“102”。
要删除这个许可证,可以使用以下命令之一:
lmremove f1 joe nirvana /dev/ttyp5
或
lmremove -h f1 cloud9 7654 102
在通过句柄进行删除时,如果许可证作为副本分组,则所有许可证副本也都会被删除。如果设置了许可证延期并且使用
lmremove来收回许可证,则lmremove将启动,而不是替代许可证的延期时间。在启动许可服务器管理器
lmgrd时,可以防止出现未经授权就执行lmremove的情况,因为删除用户的许可证具有破坏性。请参见
- 关于安全访问
lmremove的详细信息,请参见“lmgrd 命令行语法”。lmreread
lmreread实用程序使许可服务器管理器重新读取许可证文件,并启动所有新添加的供应商守护程序。此外,所有当前正在运行的供应商守护程序都会收到信号,要求重新读取许可证文件和它们的最终用户选项文件,以反映功能许可信息或选项设置的变化。如果启用了报告日志,任何仍位于供应商守护程序的内部数据缓冲器中的报告日志数据都将被刷新。lmreread可以识别出服务器计算机主机名的变化,但不能用于更改服务器 TCP/IP 端口号。如果指定了可选的供应商守护程序名称,则只有指定名称的守护程序会重新读取许可证文件及其最终用户选项文件(在这种情况下,
lmgrd不会重新读取许可证文件)。用法如下:
lmreread [-c
license_file_list] [-vendorvendor] [-all]其中:
-clicense_file_list 使用指定的许可证文件。-vendorvendor 只有供应商守护程序vendor重新读取许可证文件及其选项文件。此外,如果必要,lmgrd会重新启动vendor。-all 如果指定了多个lmgrd,则指示所有lmgrd重新读取信息。
注意:如果使用了
-clicense_file_list选项,则指定的许可证文件将由lmreread读取,而不是由lmgrd读取,lmgrd将重新读取它原来读取的文件。
在启动许可服务器管理器
lmgrd时,可以防止出现未经授权就执行lmreread的情况。请参见
- 关于安全访问
lmreread的详细信息,请参见“lmgrd 命令行语法”。
![]()
FLEXnet Licensing 版本注释
lmstat
lmstat实用程序可以帮助监控所有网络许可活动的状态,包括:
lmstat打印从许可服务器系统收到的信息,因此它并不对未提供的许可证(如不计数许可证)进行报告。要对不计数许可证进行报告,许可证必须被添加到已提供的许可证文件中,同时必须将应用程序引导到该许可证文件的许可证服务器系统(通过@host、port@host或 USE_SERVER)。lmstat也不会返回因为复制分组而排队等待的用户和共享许可证。用法如下:
lmstat [-a] [-c
license_file_list] [-f [feature]] [-i [feature] [-s[server]
[-S [vendor]] [-ttimeout_value]其中:
lmstat -a的输出类似如下:License server system status:27000@myhost1
License file(s) on myhost:install_dir/flexlm/v9.3/sun4_u5/counted.lic:
myhost:license server system UP (MASTER) v9.3
Vendor daemon status (on myhost1):
demo:UP v9.3
Feature usage info:
Users of f1:(Total of 4 licenses issued; Total of 1 license in use)
"f1" v1.0, vendor:demo
floating license
daniel myhost2 19.36.18.26 (v1.0) (myhost1/27000 102), start Fri
5/3 7:29其中:
user、user_host、display、server_host、port以及handle信息供在用lmremove删除许可证时使用。
注意:
lmstat -a可能是一个非常消耗资源的命令。如果活动的用户很多,此命令会产生大量的网络活动。
![]()
FLEXnet Licensing 版本注释
lmswitch
lmswitch实用程序可以切换某个供应商守护程序写入的调试日志文件,其方法是为该供应商守护程序关闭现有的调试日志,并用新文件名为其开始新的调试日志。如果调试日志文件还不存在,则实用程序也会开始一个由该供应商守护程序写入的新调试日志文件。用法如下:
lmswitch [-c
license_file_list]vendornew_debug_log其中:
默认情况下,来自
lmgrd以及所有由其启动的供应商守护程序的调试日志输出会被写入同一个调试文件。lmswitch允许公司为不同的供应商保留不同的日志文件并控制各个调试日志文件的大小。如果调试日志输出没有为此供应商守护程序定向到不同的文件,则
lmswitch将通知供应商守护程序开始将其调试日志输出写入文件new_debug_log。如果供应商守护程序已经写入自己的调试日志,则lmswitch将通知供应商守护程序关闭当前的调试日志文件,并开始将其调试日志输出写入new_debug_log。
注意:
lmswitch的效果将持续到供应商守护程序关闭或其选项文件通过lmreread重新读取为止。当供应商守护程序被重新启动或其选项文件被重新读取时,供应商守护程序将在选项文件中查找 DEBUGLOG 行,以便确定是否将其调试日志输出写入自己的文件,如果是,则进一步确定应该写入什么文件。
请参见
lmswitchr
lmswitchr实用程序通过关闭现有的报告日志,并用新文件名开始新报告日志,来切换报告日志文件。如果报告日志文件不存在,它就会开始一个新的报告日志文件。用法如下:
lmswitchr [-c
license_file_list]feature new_report_log或对于供应商守护程序 v5.0+:
lmswitchr [-c
license_file_list]vendor new_report_log其中:
-clicense_file_list 使用指定的许可证文件。feature 此许可证文件中的任何功能。vendor 此许可证文件中的供应商守护程序。new_report_log 新报告日志文件的路径。
如果没有为供应商守护程序启用报告日志,则
lmswitchr将通知供应商守护程序开始将其报告日志输出写入new_report_log。如果已经为供应商守护程序启用了报告日志,则lmswitchr将通知供应商守护程序关闭其报告日志文件,并开始将新的报告日志输出写入new_report_log。
注意:
lmswitchr的效果将持续到供应商守护程序关闭或其选项文件通过lmreread重新读取为止。当供应商守护程序被重新启动或其选项文件被重新读取时,供应商守护程序将在选项文件中查找 REPORTLOG 行,以便确定是否将其报告日志输出写入自己的文件,如果是,则进一步确定应该写入什么文件。
请参见
lmver
lmver实用程序报告程序库或二进制文件的 FLEXnet Licensing 版本。用法如下:
lmver
filename其中
filename是以下各项之一:例如,如果有一个名为“spell”的应用程序,可键入:
lmver spell
用于 Windows 的许可管理工具 LMTOOLS
对于 32 位 Windows 平台,许可服务器管理器工具提供了一个名为 LMTOOLS 的图形用户界面。应当尽可能使用最新版本的 LMTOOLS,最新的版本可以从 www.macrovision.com 下载。
LMTOOLS 执行的部分功能如下:
LMTOOLS 提供两种配置许可服务器系统的模式:
用许可证文件进行配置
操作在特定的许可证文件上执行。可以是本地文件也可以是远程文件。在这种模式中,您无法启动
lmgrd进程,但是可以执行其他任何操作。要配置这种模式,可执行以下操作:使用服务进行配置
操作都在一个服务上实现,该服务允许在 LMTOOLS 所在系统的本地启动
lmgrd进程。关于配置服务的详细信息,请参见“将许可服务器管理器配置为 Windows 服务”。
![]() |
![]() |
![]() ![]() ![]()
|
| FLEXnet Licensing 最终用户手册 |
| 版本 10.8 |
| 2005 年 5 月 |
| 版权 |